package cn.colins.consumer.event;

/**
 * @program: dubbo-annotation-study
 * @description:
 * @author: colins
 * @create: 2023-05-08 21:46
 **/
public interface TestEvent {

    //必须具有与真实的被调用方法相同的入参列表
    void oninvoke(String test);

    //2.1 至少要有一个入参且第一个入参必须与被调用方法的返回类型相同，接收返回结果
    //2.2 可以有多个参数，多个参数的情况下，第一个为返回结果，后面都是入参
    String onreturn(String result,String test);

    //3.1 至少要有一个入参且第一个入参类型为Throwable或其子类
    //3.2 可以有多个参数，多个参数的情况下，第一个为Throwable，后面都是入参
    void onthrow(Throwable throwable,String test);

}